﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Knights.Objeto.Tecnicas
{
    class ListaTecnicas
    {
        private int MaximoTecnicas = 10;

        private Caballero caballero;
        private List<ITecnica> tecnicas;

        public ListaTecnicas(Caballero caballero)
        {
            this.caballero = caballero;
            tecnicas = new List<ITecnica>();

            CargadorTecnicas.CargarTecnicasEstandar(this);
        }

        public void AgregarTecnica(ITecnica tecnica)
        {
            if(tecnicas.Count < MaximoTecnicas)
                tecnicas.Add(tecnica);
        }

        public string ActivarTecnica(int numero)
        {
            tecnicas[numero].Activar();
            return tecnicas[numero].Mensaje;
        }

        public void Recargar()
        {
            foreach (ITecnica tecnica in tecnicas)
                tecnica.Recargar();
        }

        public Caballero Caballero { get { return caballero; } }
    }
}
